#-*- coding: utf-8 -*-
#autor: 11236 6039
#data: 7 de outubro de 2014
#obs.: leitura do ficheiro do trabalho e passagem dos valores para o sqlite3
#


import xlrd
import sqlite3

def leitura(arq_xls):
    """
    Gerador que le arquivo .xls
    """

    # Abre o arquivo
    xls = xlrd.open_workbook(arq_xls)
    # Pega a primeira planilha do arquivo
    plan = xls.sheets()[0]

    # Para i de zero ao numero de linhas da planilha
    for i in xrange(plan.nrows):
        # Le os valores nas linhas da planilha
        yield plan.row_values(i)



def preencher_listas(lista1,lista2,lista3,lista4,lista5,lista6,lista7,lista8,lista9,listaxm,listaxM):

	

	for linha in leitura('IPC_Portugal_1977_2013.xls'):
		lista1.append(linha[ 1 ]);lista2.append(linha[ 2 ]);lista3.append(linha[ 3 ]);lista4.append(linha[ 4 ]);
		lista5.append(linha[ 5 ]);lista6.append(linha[ 6 ]);lista7.append(linha[ 7 ]);lista8.append(linha[ 8 ]);lista9.append(linha[ 9 ])
		
		

	listaxm.append('evolução das remunerações minimas')
	listaxM.append('evolução das remunerações Maximas')
	for i in range(1, (len(lista1)-1)):	
			listaxm.append(lista4[i]*((lista3[i+1]/100)+1))
			listaxM.append(lista5[i]*((lista3[i+1]/100)+1))
	listaxm.append(0)
	listaxM.append(0)
	return(lista1,lista2,lista3,lista4,lista5,lista6,lista7,lista8,lista9,listaxm,listaxM)







def create_table():
	

	connection=sqlite3.connect('teste.db')
	c=connection.cursor()


	c.execute("DROP TABLE IF EXISTS dados")


#SQL


	c.execute('CREATE TABLE IF NOT EXISTS dados(\
	ano INTEGER,\
	ipc INTEGER,\
	taxa INTEGER, \
	renu_min INTEGER,\
	renu_max INTEGER,\
	pib INTEGER, \
	rend_nacional INTEGER, \
	rend_disp INTEGER, \
	renum_capita INTEGER, \
	evol_min, \
	evol_max)')
	
	connection.commit ( )
	print("tabela criada")
	connection.close ( )



def preencher_tabelas(lista1,lista2,lista3,lista4,lista5,lista6,lista7,lista8,lista9,listaxm,listaxM):
	

	connection=sqlite3.connect('teste.db')
	c=connection.cursor()
	for i in range(1, len(lista1)):
		
		c.execute("INSERT INTO dados(\
		ano,\
		ipc,\
		taxa,\
		renu_min , \
		renu_max , \
		pib , \
		rend_nacional, \
		rend_disp , \
		renum_capita,\
		evol_min, \
		evol_max )\
		VALUES(?,?,?,?,?,?,?,?,?,?,?)",\
		(lista1[i],lista2[i],lista3[i],lista4[i],lista5[i] ,lista6[i],lista7[i],lista8[i],lista9[i],listaxm[i],listaxM[i]))

	connection.commit ( )
	print("dados inseridos")
	connection.close ( )


